/**
 * @author LKQ
 * @date 2021/12/23 16:33
 * @description 当碰到Node.val = val时，删除该节点。 第一种方法，递归
 */
public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        ListNode listNode6 = new ListNode(6);
        ListNode listNode5 = new ListNode(5, listNode6);
        ListNode listNode4 = new ListNode(4, listNode5);
        ListNode listNode3 = new ListNode(3, listNode4);
        ListNode listNode7 = new ListNode(6, listNode3);
        ListNode listNode2 = new ListNode(2, listNode7);
        ListNode listNode1 = new ListNode(1, listNode2);
        solution.removeElements(listNode1, 6);
    }


    public ListNode removeElements(ListNode head, int val) {
        if (head == null) {
            return head;
        }
        head.next = removeElements(head.next, val);
        return head.val == val ? head.next : head;
    }
}
